// permission.js ==> 是控制页面登录权限的文件
import router from './router'
import store from './store'

// 前置守卫，每一次跳转前
router.beforeEach(async(to, from, next) => {
  // to:要去的页面信息
  // to.path:要去页面路径
  // from:从哪个页面来的信息
  // from.paht:来的页面路径
  // next方法
  // next(),允许跳转,next('/路径')重定向其他页面去
  // 如果有token才允许跳转
  // 白名单
  // if (to.path === '/login' || to.path === '/404' || to.path === '/learn-from')
  if (['/login', '/404', '/learn-form'].includes(to.path)) {
    // 白名单 不受权限控制  为什么要设置白名单？
    return next()
  }
  if (store.state.user.token) {
    // 没有token不允许访问
    if (store.state.user.userInfo.id === undefined) {
      // 在路由前置守卫，调用action发请求
      await store.dispatch('user/getInfo')
    }
    next()
  } else {
    next('/login')
  }
})
router.afterEach((to, from) => {
})
